Data array storage systems may include a plurality of host interface units (I/O modules), physical storage units (e.g., disk drives, SSD drives, etc.), and disk interface units (disk adapters) that are coupled to and used to control the storage units. Host systems coupled to the data array storage systems access data and provide control information through channels connected to the data array storage system. The host systems and applications thereon do not address the physical storage units of the data array storage system directly, but rather, access what appears to the host systems as a plurality of logical storage units. A particular one of the logical storage units may or may not correspond to any particular one of the physical storage units and, often, there is a more complex relationship between physical storage units and logical storage units.
A data array storage system may be vulnerable to performance degradation when one or more of the physical storage units fails. In addition, the relatively large number of individual physical storage units increases the likelihood of failure. Of course, data may be protected using conventional mechanisms, such as RAID arrays that span multiple physical storage units, regular data backups, etc. However, recovering from failures (e.g., restoring data backups, rebuilding RAID arrays, etc.) is time consuming and impacts performance. Also, in some cases, data on the storage device is not available until recovery is complete. In a system where physical storage units are not replaced until failure, inefficiencies associated with data recovery are expected.
Accordingly, it is desirable to be able to reliably predict failure of physical storage units to be able to migrate applications/data therefrom and possibly provide replacements prior to failure.